 /**********************************************************************
 * Fichier : DrivaDefinitions.h
 *
 * Résumé : Fichier d'en-tête qui définit les constantes du pilote.
 *
 *
 * Auteur : Vincent Léger et Francisco Jesus
 *
 * Dernière modification : dimanche 9 décembre 2012
 *
 **********************************************************************/


#ifndef _DRIVADEFINITIONS_H_
#define _DRIVADEFINITIONS_H_

//nom du pilote
#define DRIVER_NAME         "USBDriva"
#define DRIVER_FULL_NAME    "usb/USBDriva%d"
//INFORMATIONS DE LA CAM... utilise pour l'enregistrement et l'identification
#define DRIVA_VENDOR_ID       0x046d
#define DRIVA_PROD_ID         0x08cc //usb cam de lecole
//autres cameras (utilisées lors de tests)
//#define DRIVA_PROD_ID         0x08f0         // la web cam QuickCam Messanger de Jesus
//#define DRIVA_VENDOR_ID2      0x04f2         //ma "Chicony"
//#define DRIVA_PROD_ID2        0xb070
//#define DRIVA_PROD_ID        0xb106		   //jesus' chicony
//#define DRIVA_VENDOR_ID3       0x19ff        //ma super "Dynex"
//#define DRIVA_PROD_ID3         0x0102

//definition d'un numéro MINOR générique
#define DRIVA_MINOR 77

//nb de URBs (hard-codé selon la camera)
#define NB_URB  5
//TAILLE MAXIMALE DU TAMPON
#define MAX_DATA_SIZE   42666
//COMMANDES
#define RESET_CMD   0x03
//PAN-TILT command values
#define PAN_TILT_CMDLENGTH  4
#define LEFT_PAN_TILT   {0x80,0x00,0x00,0x00}
#define RIGHT_PAN_TILT  {0x80,0xFF,0x00,0x00}
#define UP_PAN_TILT     {0x00,0x00,0x80,0xFF}
#define DOWN_PAN_TILT   {0x00,0x00,0x80,0x00}

//Processing Unit COntrol
//typedef a structure for easy use...
typedef struct CAM_PAN_TILT
{
    unsigned char left[PAN_TILT_CMDLENGTH];
    unsigned char right[PAN_TILT_CMDLENGTH];
    unsigned char up[PAN_TILT_CMDLENGTH];
    unsigned char down[PAN_TILT_CMDLENGTH];
}CAMERA_MOVEMENT;

#endif  //_DRIVADEFINITIONS_H_


